<?php  
/**
* @package Yardin.
* @name includes/innodb.php
* @author ERES
* @category sistema               
* @todo Ejecuta una consulta en modo innodb, con COMMIT, ROLLBACK, etc.....
*/

/**
* @param $sql string con la consulta a ejecutar
* @return array($exito,$error,$sql) retorna un arreglo, $exito=true/false, $error=mensaje de error, $sql=consulta pasada como argumento, $id=id del ultimo registro insertado
*/

//esta clase no lo toquen. winston

//-------------------------
function begin_tran($handle)
{
    $ok=mysql_query("SET AUTOCOMMIT=0",$handle);
    if(!$ok)  die("ERROR:2 - INTENTANDO INICIAR LA TRANSACCION");

    $ok=mysql_query("BEGIN",$handle);
    if(!$ok)  die("ERROR:1 - INTENTANDO INICIAR LA TRANSACCION"); 

    return 1;
}
//------------------------- para INSERT
function exec_tran($sql,$handle)
{	
    $ok = mysql_query($sql,$handle);
    $id=mysql_insert_id();

    if($ok and $id)	return $id;

    return 0;
}
//------------------------- para UPDATE
function delup_tran($sql,$handle)
{	
    $ok = mysql_query($sql,$handle);

    if($ok)	return 1;

    return 0;
}
//------------------------- Si no hubo errores guardar
function end_tran($handle)
{	
    $ok=mysql_query("COMMIT",$handle);
    if(!$ok) return 0;

    $ok=mysql_query("SET AUTOCOMMIT=1",$handle);
    if(!$ok) return 0;

    return 1;
}	
//------------------------- Si hubo errores volver todo atras
function roll_tran($handle)
{	
    $ok=mysql_query("ROLLBACK",$handle);
    if(!$ok) return 0;

    $ok=mysql_query("SET AUTOCOMMIT=1",$handle);
    if(!$ok) return 0;

    return 1;
}